package org.wmq.positiontoshop.repository;

import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
import org.wmq.positiontoshop.model.ES.ShopES;

import java.util.List;

/**
 * Elasticsearch店铺Repository接口
 * 用于操作Elasticsearch中的店铺文档
 */
public interface ShopESRepository extends ElasticsearchRepository<ShopES, Long> {
    
    /**
     * 根据店铺名称模糊搜索
     * 
     * @param name 店铺名称关键词
     * @return 匹配的店铺列表
     */
    List<ShopES> findByNameContaining(String name);
    
    /**
     * 根据店铺类型搜索
     * 
     * @param type 店铺类型
     * @return 匹配的店铺列表
     */
    List<ShopES> findByType(String type);
    
    /**
     * 根据店铺状态搜索
     * 
     * @param status 店铺状态
     * @return 匹配的店铺列表
     */
    List<ShopES> findByStatus(Integer status);
    
    /**
     * 根据店铺名称或描述模糊搜索
     * 
     * @param name 店铺名称关键词
     * @param description 店铺描述关键词
     * @return 匹配的店铺列表
     */
    List<ShopES> findByNameContainingOrDescriptionContaining(String name, String description);
}